package com.sairobo.base.modules.sys.service;

import com.sairobo.base.common.entity.Page;
import com.sairobo.base.common.entity.R;
import com.sairobo.base.modules.sys.entity.SysConfig;

import java.util.Map;

/**
 * 系统配置信息表
 *
 * @author admin
 * @email sairobo
 * @url www.sairobo.com
 * @date 2018年1月17日 下午7:58:10
 */
public interface SysConfigService {

	Page<SysConfig> listSysConfig(Map<String, Object> params);
	
	R saveSysConfig(SysConfig sysConfig);
	
	R getSysConfigById(Long id);
	
	R updateSysConfig(SysConfig sysConfig);
	
	R batchRemove(Long[] id);


    /**
     * 根据key，获取配置的value值
     *
     * @param key           key
     */
    public String getValue(String key);

    /**
     * 根据key，获取value的Object对象
     * @param key    key
     * @param clazz  Object对象
     */
    public <T> T getConfigObject(String key, Class<T> clazz);


    /**
     * 根据key，更新value
     */
    public void updateValueByKey(String key, String value);
	
}
